//二进制和八进制
console.log(0b111110111 === 503);
console.log(0o767 === 503);

// (function(){
//     console.log(0o11 === 011);
// })();

// 严格模式
/*
从 ES5 开始，在严格模式之中，八进制就不再允许使用前缀0表示，
ES6 进一步明确，要使用前缀0o表示。
*/
(function() {
    "use strict";
    // console.log(0o11 === 011); 报错
    console.log(0o11 === 0o11); // true
})();

console.log(Number("0b1111")); // 15
console.log(Number("0o10")); // 8

// 注意，如果参数类型不是数值，Number.isFinite一律返回false。
console.log(Number.isFinite(15)); // true
console.log(Number.isFinite(0.8)) // true
console.log(Number.isFinite(NaN)); //false
console.log(Number.isFinite(Infinity)) //false
console.log(Number.isFinite(Infinity)) //false
console.log(Number.isFinite(Infinity)) //false
console.log(Number.isFinite("15")) //false
console.log(Number.isFinite(true)) // false

// Number.isNaN() 用来检查一个值是否为NaN
console.log(Number.isNaN(NaN) )// true
console.log(Number.isNaN(15)) // false
console.log(Number.isNaN('15')) // false
console.log(Number.isNaN(true)) // false
console.log(Number.isNaN(9/NaN) )// true
console.log(Number.isNaN('true' / 0) )   // true
console.log(Number.isNaN('true' / 'true'))    // true

